﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Linq;
using NET.Tools.OS;
using Puzzler.Plugin.Utils;
using NET.Tools;

namespace Puzzler.Plugin.Interface
{
    public abstract class GridPuzzlePlugin<TInfo, TModel, TRenderer, TInputHandler, TRibbonHandler, TWordAddInHandler, TIoHandler, TUpgrate> : 
        PuzzlePlugin<TModel, TRenderer, TInputHandler, TRibbonHandler, TWordAddInHandler, TIoHandler, TUpgrate>
        where TInfo : GridCellInfo
        where TModel : GridPuzzleModel<TInfo>
        where TRenderer : GridPuzzleRenderer<TModel, TInfo>
        where TInputHandler : GridPuzzleInputHandler<TModel, TInfo>
        where TRibbonHandler : GridPuzzleRibbonHandler<TModel, TInfo>
        where TWordAddInHandler : GridPuzzleWordAddInHandler<TModel, TInfo>
        where TIoHandler : GridPuzzleIOHandler<TModel, TInfo, TUpgrate>
        where TUpgrate : GridPuzzleIOUpgrateHandler<TModel, TInfo>
    {
    }
}